Integration of a computer-based message priority system with mobile electronic devices

ABSTRACT

Methods for integrating mobile electronic devices with computational methods for assigning priorities to documents are disclosed. In one embodiment, a computer-implemented method first receives a new document such as an electronic mail message. The method assigns a priority to the document, based on a text classifier such as a Bayesian classifier or a support-vector machine classifier. The method then alerts a user on an electronic device, such as a pager or a cellular phone, based on an alert criteria that can be made sensitive to information about the location, inferred task, and focus of attention of the user. Such information can be inferred under uncertainty or can be accessed directly from online information sources. One embodiment makes use of information from an online calendar to control the criteria used to make decisions about relaying information to a mobile device.

RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 12/258,749, filedOct. 27, 2008, entitled “Integration of a Computer-Based MessagePriority System With Mobile Electronic Devices”, now allowed, which is acontinuation of U.S. Ser. No. 10/795,695, filed Mar. 8, 2004, entitled“Integration of a Computer-Based Message Priority System With MobileElectronic Devices”, now U.S. Pat. No. 7,444,384, which is acontinuation of Ser. No. 09/365,293, filed on Jul. 30, 1999, entitled“Integration of a Computer-Based Message Priority System With MobileElectronic Devices”, now U.S. Pat. No. 6,714,967, which is related tothe cofiled, copending and coassigned applications entitled “Method forAutomatically Assigning Priorities to Documents and Messages”, filed onJul. 30, 1999 and assigned Ser. No. 09/364,527, now U.S. Pat. No.7,194,681, “Methods for Routing Documents based on a Measure ofCriticality”, filed on Jul. 30, 1999 and assigned Ser. No. 09/364,528,now U.S. Pat. No. 6,622,160, “Methods for Display, Notification, andInteraction with Prioritized Messages”, filed on Jul. 30, 1999, andassigned Ser. No. 09/364,522, now U.S. Pat. No. 7,120,865, and “AComputational Architecture for Managing the Transmittal and Rendering ofInformation, Alerts, and Notifications”, filed on Jul. 30, 1999 andassigned Ser. No. 09/365,287, now U.S. Pat. No. 6,618,716, theentireties of all of which are incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to prioritized text such as prioritizedemail messages, and more particularly to electronic device alerting forsuch prioritized text.

BACKGROUND OF THE INVENTION

Electronic mail programs have become a popular application amongcomputer users. Especially with the advent of the Internet, exchangingemail has almost become a reason why people purchase computers forpersonal reasons, and within many corporate environments, email hasbecome the standard manner by which coworkers exchange information.However, with the increasing popularity of email, shortcomings havebecome apparent.

Chief among these shortcomings is that many users now face a deluge ofemail every day, such that the capability of being able to send andreceive email has almost become a hindrance to their day-to-day abilityto get their job done, as opposed to being an asset. Some users reportreceiving over 100 email messages a day. With such large numbers ofemail, it is difficult to manage the email, such that the users read themost important messages first.

Limited solutions to this problem have been attempted in the prior art.Prior art exists for attempting to curtail the amount of junkemail—e.g., unsolicited email, typically regarding a service or productfor sale—that users receive. Moreover, some electronic mail programsallow for the generation of rules that govern how an email is managedwithin the program—for example, placing all emails from certaincoworkers in a special folder.

These limited solutions, however, do not strike at the basic problembehind email—that with so much email being received, it would be mostuseful for a user to be able to have his or her computer automaticallyprioritize the email by importance or review urgency, and performactions based on that prioritization. For these and other reasons, thereis a need for the present invention.

SUMMARY OF THE INVENTION

The invention relates to electronic device alerting for prioritizedtext. In one embodiment, a computer-implemented method first receives atext. The method generates a priority of the text, based on a textclassifier such as a Bayesian classifier or a support-vector machineclassifier. The method then alerts a user on an electronic device, suchas a pager or a cellular phone, based on an alert criteria.

Embodiments of the invention provide for advantages over the prior art.A user, for example, in one embodiment, may ask that he or she only bedisturbed if the priority of the text is greater than a given threshold.Thus, even if the user receives over 100 different email, he or she willbe alerted to the most important email, and then will be able to dealwith the other email when the user has time. Prioritization, in otherwords, makes email much more useful in environments where a lot of emailis exchanged on a regular basis.

Embodiments of the invention include computer-implemented methods,computer-readable media, and computerized systems of varyingembodiments. Still other embodiments, advantages and aspects of theinvention will become apparent by reading the following detaileddescription, and by reference to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an operating environment in conjunction withwhich embodiments of the invention may be practiced;

FIG. 2 is a diagram showing explicit and implicit training of a textclassifier, according to an embodiment of the invention;

FIG. 3 is a diagram showing how a priority for a text is generated byinput to a text classifier, according to an embodiment of the invention;

FIG. 4( a) is a diagram of a scheme according to which the priority of atext can be classified, according to an embodiment of the invention;

FIG. 4( b) is a diagram of another scheme according to which thepriority of a text can be classified, according to another embodiment ofthe invention;

FIG. 5( a) is a graph showing linear cost functions of high, medium andlow priority texts, according to an embodiment of the invention;

FIG. 5( b) is a graph showing a non-linear cost function for a text,according to an embodiment of the invention;

FIG. 6 is a diagram showing classes of evidence that can be used to makean inference about a user's activity (e.g., if a user is present),according to one embodiment of the invention;

FIG. 7 is a diagram showing a Bayesian network that can be used forinferring a user's activity (e.g., if a user is present), according toone embodiment of the invention;

FIGS. 8-10 are influence diagrams showing how in one embodiment decisionmodels can be utilized to make the decision as to how and when to alerta user to a message;

FIG. 11 is a flowchart of a method according to an embodiment of theinvention;

FIG. 12 is a diagram of a system according to an embodiment of theinvention;

FIG. 13 is a diagram of a system according to another embodiment of theinvention; and,

FIG. 14 is a diagram of a user interface via which alert criteria can bemodified, according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of exemplary embodiments of theinvention, reference is made to the accompanying drawings which form apart hereof, and in which is shown by way of illustration specificexemplary embodiments in which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that logical, mechanical,electrical and other changes may be made without departing from thespirit or scope of the present invention. The following detaileddescription is, therefore, not to be taken in a limiting sense, and thescope of the present invention is defined only by the appended claims.

Some portions of the detailed descriptions which follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated.

It has proven convenient at times, principally for reasons of commonusage, to refer to these signals as bits, values, elements, symbols,characters, terms, numbers, or the like. It should be borne in mind,however, that all of these and similar terms are to be associated withthe appropriate physical quantities and are merely convenient labelsapplied to these quantities. Unless specifically stated otherwise asapparent from the following discussions, it is appreciated thatthroughout the present invention, discussions utilizing terms such asprocessing or computing or calculating or determining or displaying orthe like, refer to the action and processes of a computer system, orsimilar electronic computing device, that manipulates and transformsdata represented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage, transmission or display devices. (It isnoted that the terms document and text are used interchangeably hereinand should be construed as interchangeable as well.)

Operating Environment

Referring to FIG. 1, a diagram of the hardware and operating environmentin conjunction with which embodiments of the invention may be practicedis shown. The description of FIG. 1 is intended to provide a brief,general description of suitable computer hardware and a suitablecomputing environment in conjunction with which the invention may beimplemented. Although not required, the invention is described in thegeneral context of computer-executable instructions, such as programmodules, being executed by a computer, such as a personal computer.Generally, program modules include routines, programs, objects,components, data structures, etc., that perform particular tasks orimplement particular abstract data types.

Moreover, those skilled in the art will appreciate that the inventionmay be practiced with other computer system configurations, includinghand-held devices, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PC's, minicomputers,mainframe computers, and the like. The invention may also be practicedin distributed computing environments where tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules may belocated in both local and remote memory storage devices.

The exemplary hardware and operating environment of FIG. 1 forimplementing the invention includes a general purpose computing devicein the form of a computer 20, including a processing unit 21, a systemmemory 22, and a system bus 23 that operatively couples various systemcomponents include the system memory to the processing unit 21. Theremay be only one or there may be more than one processing unit 21, suchthat the processor of computer 20 comprises a single central-processingunit (CPU), or a plurality of processing units, commonly referred to asa parallel processing environment. The computer 20 may be a conventionalcomputer, a distributed computer, or any other type of computer; theinvention is not so limited.

The system bus 23 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. The system memorymay also be referred to as simply the memory, and includes read onlymemory (ROM) 24 and random access memory (RAM) 25. A basic input/outputsystem (BIOS) 26, containing the basic routines that help to transferinformation between elements within the computer 20, such as duringstart-up, is stored in ROM 24. The computer 20 further includes a harddisk drive 27 for reading from and writing to a hard disk, not shown, amagnetic disk drive 28 for reading from or writing to a removablemagnetic disk 29, and an optical disk drive 30 for reading from orwriting to a removable optical disk 31 such as a CD ROM or other opticalmedia.

The hard disk drive 27, magnetic disk drive 28, and optical disk drive30 are connected to the system bus 23 by a hard disk drive interface 32,a magnetic disk drive interface 33, and an optical disk drive interface34, respectively. The drives and their associated computer-readablemedia provide nonvolatile storage of computer-readable instructions,data structures, program modules and other data for the computer 20. Itshould be appreciated by those skilled in the art that any type ofcomputer-readable media which can store data that is accessible by acomputer, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories (RAMs), read onlymemories (ROMs), and the like, may be used in the exemplary operatingenvironment.

A number of program modules may be stored on the hard disk, magneticdisk 29, optical disk 31, ROM 24, or RAM 25, including an operatingsystem 35, one or more application programs 36, other program modules37, and program data 38. A user may enter commands and information intothe personal computer 20 through input devices such as a keyboard 40 andpointing device 42. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit21 through a serial port interface 46 that is coupled to the system bus,but may be connected by other interfaces, such as a parallel port, gameport, or a universal serial bus (USB). A monitor 47 or other type ofdisplay device is also connected to the system bus 23 via an interface,such as a video adapter 48. In addition to the monitor, computerstypically include other peripheral output devices (not shown), such asspeakers and printers.

The computer 20 may operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer 49.These logical connections are achieved by a communication device coupledto or a part of the computer 20; the invention is not limited to aparticular type of communications device. The remote computer 49 may beanother computer, a server, a router, a network PC, a client, a peerdevice or other common network node, and typically includes many or allof the elements described above relative to the computer 20, althoughonly a memory storage device 50 has been illustrated in FIG. 1. Thelogical connections depicted in FIG. 1 include a local-area network(LAN) 51 and a wide-area network (WAN) 52. Such networking environmentsare commonplace in office networks, enterprise-wide computer networks,intranets and the Internal, which are all types of networks.

When used in a LAN-networking environment, the computer 20 is connectedto the local network 51 through a network interface or adapter 53, whichis one type of communications device. When used in a WAN-networkingenvironment, the computer 20 typically includes a modem 54, a type ofcommunications device, or any other type of communications device forestablishing communications over the wide area network 52, such as theInternal. The modem 54, which may be internal or external, is connectedto the system bus 23 via the serial port interface 46. In a networkedenvironment, program modules depicted relative to the personal computer20, or portions thereof, may be stored in the remote memory storagedevice. It is appreciated that the network connections shown areexemplary and other means of and communications devices for establishinga communications link between the computers may be used.

Generating a Priority for a Text

In this section of the detailed description, the generation of apriority for a text such as an email, according to one embodiment of theinvention, is described. The generation of priorities for texts asdescribed can then be used in methods, systems, and computer-readablemedia (as well as other embodiments) of the invention as are presentedin other sections of the detailed description. The description in thissection is provided in conjunction with FIG. 2 and FIG. 3, the formerwhich is a diagram showing explicit and implicit training of a textclassifier, according to an embodiment of the invention, and the latterwhich is a diagram showing how a priority for a text is generated byinput to a text classifier, according to an embodiment of the invention.The description is also provided in conjunction with FIGS. 4( a) and4(b), which are diagrams of different schema according to which thepriority of a text can be classified, and in conjunction with FIGS. 5(a) and 5(b), which are graphs showing different cost functions that maybe applicable depending on text type.

Referring first to FIG. 2, the text classifier 200 is able to be trainedboth explicitly, as represented by the arrow 202, and implicitly, asrepresent by the arrow 204. The explicit training represented by thearrow 202 is usually conducted at the initial phases of constructing thetext classifier 200, while the implicit training represented by thearrow 204 is usually conducted after the text classifier 200 has beenconstructed, to fine tune the classifier 200. However, the invention isnot so limited.

The text classifier 200 in one embodiment is a Bayesian classifier, asknown within the art, while in another embodiment it is a support vectormachine (SVM) classifier, as also known within the art. Textclassification methodology based on a Bayesian learning approach isspecifically described in the reference M. Sahami, S. Dumais, D.Heckerman, E. Horvitz, A Bayesian Approach to Junk E-Mail Filtering,AAAI Workshop on Text Classification, July 1998, Madison, Wis., AAAITechnical Report WS-98-05, which is hereby incorporated by reference.Text classification methodology based on an SVM approach is specificallydescribed in the following references: the coassigned patent, U.S. Pat.No. 5,864,848, issued Jan. 26, 1999, which is hereby incorporated byreference; the previously filed and coassigned case entitled “Methodsand Apparatus for Building a Support Vector Machine Classifier,” Ser.No. 09/055,477, filed on Apr. 6, 1998, which is also hereby incorporatedby reference; and, the reference J. Platt, Fast Training of SupportVector Machines using Sequential Minimal Optimization, MIT Press,Baltimore, Md., 1998, which is also hereby incorporated by reference.For purposes of this application, specific description is made withreference to an SVM classifier, although those of ordinary skill withinthe art can appreciate that the invention is not so limited.

As shown in FIG. 2, the explicit training of the text classifier 200 asrepresented by the arrow 202 includes constructing the classifier in206, including utilizing feature selection. In general, Support VectorMachines build classifiers by identifying a hyperplane that separates aset of positive and negative examples with a maximum margin. In thelinear form of SVM that is employed in one embodiment, the margin isdefined by the distance of the hyperplane to the nearest positive andnegative cases for each class. Maximizing the margin can be expressed asan optimization problem. A post-processing procedure described in thePlatt reference is used that employs regularized maximum likelihoodfitting to produce estimations of posterior probabilities. The methodfits a sigmoid to the score that is output by the SVM classifier.

In the explicit training, the text classifier is presented with bothtime-critical and non-time-critical texts (e.g., email messages), sothat it may be able to discriminate between the two. This training setmay be provided by the user, or a standard training set may be used.Given a training corpus, the text classifier first appliesfeature-selection procedures that attempt to find the mostdiscriminatory features. This process employs a mutual-informationanalysis. Feature selection can operate on single words or higher-leveldistinctions made available, such as phrases and parts of speech taggedwith natural language processing—that is, the text classifier 200 isable to be seeded with specially tagged text to discriminate features ofa text that are considered important.

Feature selection for text classification typically performs a searchover single words. Beyond the reliance on single words, domain-specificphrases and high-level patterns of features are also made available.Special tokens can also enhance classification. The quality of thelearned classifiers for email criticality can be enhanced by inputtingto the feature selection procedures handcrafted features that areidentified as being useful for distinguishing among email of differenttime criticality. Thus, during feature selection, single words as wellas special phrases and symbols that are useful for discriminating amongmessages of different levels of time criticality are considered.

Tokens and patterns of value in identifying the criticality of messagesinclude such distinctions as (including Boolean combinations thereof):

To: fieldAddressed just to userAddressed to only a few people including userAddressed to an alias with a small number of peopleAddressed to several aliases with a small number of peopleCc:'d to userBcc:'d to user

People

Names on pre-determined list of important peopleFamily membersPeople at companyOrganization chart structure

-   -   Managers I report to    -   Managers of managers of people I report to    -   People who report to me        External business people        Past tense        These include descriptions about events that have already        occurred such as:

We met

meeting wenthappenedgot togethertook care ofmeeting yesterdayFuture tense

Tomorrow

This weekAre you going to

When can we

Meeting and coordinationGet togetherCan you meetWill get togetherCoordinate withNeed to get togetherResolved datesDates indicated from text and msg. time (e.g., tomorrow, send yesterday)

Questions Word+?

Indications of personal requests:

Can you Are you Will you

you please

Can you do

Indications of need:I needHe needsShe needsI'd likeIt would be greatI wantHe wantsShe wantsTake care ofTime criticalityhappening soonright awaydeadline will bedeadline isas soon as possibleneeds this soonto be done soondone right away

Importance

is importantis critical

Word+!

Explicit priority flag status (low, none, high)Length of messageNumber of bytes in component of new messageSigns of Commercial and Adult-Content Junk email

Free!!

!!!

Under 18 Adult

Percent capsPercent nonalphanumeric charactersetc.

Other features that may be used for feature selection are described inthe cofiled, copending and coassigned application entitled “AComputational Architecture for Managing the Transmittal and Rendering ofInformation, Alerts, and Notifications,” U.S. Ser. No. 09/365,287, whichis hereby incorporated by reference, and in the copending and coassignedapplication entitled “Methods and Apparatus for Building a SupportVector Machine Classifier,” U.S. Ser. No. 09/055,477, filed on Apr. 6,1998, which has already been incorporated by reference.

Furthermore, still referring to FIG. 2, implicit training of the textclassifier 200, as represented by the arrow 204, can be conducted bycontinually watching the user work in 210. The assumption is that asusers work, and lists of mail are reviewed, time-critical messages areread first, and low-priority messages are reviewed later, or justdeleted. That is, when presented with a new email, the user is watchedto determine whether or she immediately opens the email, and in whatorder (if more than one new email are present), deletes the emailwithout opening, and/or replies to the email right away. Thus, the textclassifier is such that a user is continually watched while working, andthe classifier is continually refined by training in the background andbeing updated in real time for decision making. For each messageinputted into the classifier, a new case for the classifier is created.The cases are stored as negative and positive examples of texts that areeither high or low priority.

Referring next to FIG. 3, a text, such as an email message, 300 is inputinto the text classifier 200, which based thereon generates a priority302 for the text 300. That is, in one embodiment, the text classifier200 generates a priority 302, measured as a percentage from 0 to 1(i.e., 0% to 100%). This percentage is a measure of the likelihood thatthe text 300 is of high priority, based on the previous training of theclassifier 200.

It is noted that as has been described, the text classifier and thepriority generated thereby is based on a scheme where each email in thetraining phase is construed as either high priority or low priority,such that the priority generated by the text classifier is a measure ofthe likelihood of the text being analyzed is of high priority. Thisscheme is specifically shown by reference to FIG. 4( a), where the textclassifier 200 is trained by a group of texts 400 that are high priorityand a group of texts 402 that are low priority, such that a text to beanalyzed 400 is input into the classifier 200, which outputs a scalarnumber 406 measuring the likelihood that the text being analyzed is ofhigh priority. However, those of ordinary skill within the art canappreciate that the invention is not so limited.

For example, referring to FIG. 4( b), a diagram showing a scheme wheretexts are divided into low, medium and high priority, according to anembodiment of the invention, is shown. The text classifier 200 in theembodiment of FIG. 4( b) is trained by a group of texts 400 that arehigh priority and a group of texts 402 that are low priority, as in theprevious embodiment, but also by a group of texts 450 that are mediumpriority. Thus, a text to be analyzed 400 is input into the classifier200, which outputs a scalar number 406, that can measure the likelihoodthat the text being analyzed is of high priority, if so desired, ormedium priority or low priority. The classifier 200 is also able tooutput a class 452, which indicates the class of low, medium or highpriority that the text 404 most likely falls into. Those of ordinaryskill within the art can appreciate that further classes can also beadded if desired.

The invention is not limited to the definition of priority as this termis used by the text classifier to assign such priority to a text such asan email message. In one embodiment, however, priority is defined interms of a loss function. More specifically, priority is defined interms of the expected cost in lost opportunities per time delayed inreviewing the text after it has be received—that is, the expected lostor cost that will result for delayed processing of the text. This lossfunction can further vary according to the type of text received.

For example, the general case is shown in FIG. 5( a), which is a graphof linear cost functions dependent on the priority of a text. In thegraph 500, as time increases, the cost of not having reviewed a textalso increases. However, the cost increases more for a high prioritymessage, as indicated by the line 502, as compared to a medium prioritymessage, as indicated by the line 504, or a low priority message, asindicated by the line 506. That is, the high priority line 502 may havea slope of 100, the medium priority line 504 may have a slope of 10, andthe low priority line 502 may have a slope of 1. These slope values canthen be used by the text classifier to assist in assigning a priority toa given text, for example, by regression analysis.

Some messages, however, do not have their priorities well approximatedby the use of a linear cost function. For example, a message relating toa meeting will have its cost function increase as the time of themeeting nears, and thereafter, the cost function rapidly decreases—sinceafter the meeting is missed, there is not much generally a user can doabout it. This situation is better approximated by a non-linear costfunction, as shown in FIG. 5( b). In the graph 550, the cost function554 rapidly increases until it reaches the time of the meetingdemarcated by the line 552, after which it rapidly decreases. Thus,those of ordinary skill within the art can appreciate that depending ona message's type, the cost function can be approximated by one of manydifferent representative cost functions, both linear and non-linear.

Thus, as has been described, the priority of a text can be just thelikelihood that it is of high priority based on output of a textclassifier, or the most likely priority class (i.e., medium, low or highpriority) it falls into, also based on the output of the textclassifier. However, in another embodiment of the invention, an expectedtime criticality of each text, such as an email message, is determined.This can be written as

${EL} = {\sum\limits_{i}^{n}\; {{p( {critical}_{i} )}{C( {critical}_{i} )}}}$

where EL is the expected loss, p(critical_(i)) is the probability that atext has the criticality i (e.g., where i=0 may be low priority and i=1may be high priority, or where i=0 may be low priority, i=1 mediumpriority and i=2 high priority, etc.), C(critical_(i)) is the costfunction for text having the criticality i, and n is the total number ofcriticality classes minus one. The cost functions may be linear ornon-linear, as has been described—in the case where the function arelinear, the cost function is thus the rate of loss.

In the case where n=1, specifying that there are only two priorityclasses low and high, the expected loss can be reformulated as

EC=p(critical_(high))C(critical_(high))+[1−p(critical_(low))]C(critical_(low))

where EC is the expected criticality of a text. Furthermore, if the costfunction of low criticality messages is set to zero, this becomes

EC=p(critical_(high))C(critical_(high))

The total loss until the time of review of a text can be expressed asthe integration of the expressed criticality, or,

EL=∫ ₀ ^(t) p(critical_(high))C(critical_(high))

where t is the time of review.Determining when to Alert the User

In this section of the detailed description, described is provided as todetermining when to alert the user of a high-priority text, for example,a text that has a likelihood of being high priority greater than auser-set threshold, or greater than a threshold determined by decisiontheoretic reasoning. That is, beyond knowing about time criticalmessages, it is also important in one embodiment to decide when to alerta user to time-critical messages if the user is not directly viewingincoming email (in one embodiment). In the general case, a cost ofdistracting the user from the current task being addressed to learnabout the time-critical message is determined

In general, a user should be alerted when a cost-benefit analysissuggests that the expected loss the user would incur in not reviewingthe message at time t is greater than the expected cost of alerting theuser. That is, alerting should be conducted if

EL−EC>0

where EL is the expected loss of non-review of the text at a currenttime t, and EC is the expected cost of alerting the user of the text atthe current time t. The expected loss is as described in the previoussection of the detailed description.

However, this formulation is not entirely accurate, because the user isassumed to review the message on his or her own at some point in thefuture anyway. Therefore, in actuality, the user should be alerted whenthe expected value of alerting, referred to as ECA, is positive. Theexpected value of alerting should thus consider the value of alertingthe user of the text now, as opposed to the value of the user reviewingthe message later on his or her own, without alert, minus the cost ofalerting. This can be stated as

EVA=EL _(alert) −EL _(no-alert) −EC

where EL_(alert) is the expected loss of the user reviewing the messageif he or she were to review the message now, upon being alerted, asopposed to EL_(no-alert), which is the expected loss of the userreviewing the message on his or her own at some point, without beingalerted, minus EC, the expected cost of alerting (now).

Furthermore, in one specific embodiment of the invention, informationfrom several messages are grouped together into a single compound alert.Reviewing information about multiple messages in an alert can be morecostly than an alert relaying information about a single messages. Suchincreases in distraction can be represented by making the cost of analert a function of its informational complexity. It is assumed that theEVA of an email message is independent of the EVA of the other emailmessages. EVA(M_(i),t) is used to refer to the value of alerting a userabout a single message M_(i) at time t and ECA(n) is used to refer tothe expected cost of relaying the content of n messages. Thus, multiplemessages can be considered by summing together the expected value ofrelaying information about a set of n messages,

${NEVA} = {{\sum\limits_{i = 1}^{\;}\; {{EVA}( {M_{i},t} )}} - {{{ECA}(n)}.}}$

In one embodiment of the invention, it is noted that determining when toalert the user is conducted in accordance with the more rigoroustreatment of EVA described in the copending, cofiled and coassignedapplication entitled “A Computational Architecture for Managing theTransmittal and Rendering of Information, Alerts, and Notifications,”U.S. Ser. No. 09/365,287, which is hereby incorporated by reference.However, the invention is not so limited.

It is also noted that in order to determine the expect cost of alerting,it is useful to infer or directly access information about whether theuser is present—and therefore can see or hear alerts from thecomputer—or is not present. Sensors can be used in one embodiment thatindicate when a user is in the office, such as infrared sensors,pressure sensors (on the chair), etc. However, if such devices are notavailable, a probability that a user is in the office can be assigned asa function of user activity on the computer, such as the time since lastobserved mouse or keyboard activity. Furthermore, scheduling informationavailable in a calendar can also be made use of to make inferences aboutthe distance and disposition of a user, to consider the costs offorwarding messages to the user by different means (e.g., cell phone,pager, etc.).

It is also important to know how busy the user is in making decisionsabout interrupting the user with information about messages with hightime criticality. In one embodiment, it is reasoned about whether andthe rate at which a user is working on a computer, or whether the useris on the telephone, speaking with someone, or at a meeting at anotherlocation. In one embodiment, several classes of evidence can be used toassess a user's activity or his or her focus of attention, as shown inFIG. 6. A Bayesian network, as known in the art, can then be used forperforming an inference about a user's activity; an example of such anetwork is shown in FIG. 7. Utilizing evidence to infer whether the useris present is described more rigorously in the cofiled, copending andcoassigned application entitled “A Computational Architecture forManaging the Transmittal and Rendering of Information, Alerts, andNotifications,” U.S. Ser. No. 09/365,287, which has already beenincorporated by reference (specifically, with respect to determining analert-reception probability). Thus, in one embodiment, a probabilityinference as to whether a user is present is determined in accordancewith the description provided in this application.

In general, a decision should be made as to when and how to alert usersto messages and to provide services (for example) based on the inferenceof expected criticality and user activity. In one embodiment, thisdecision is made as described in the cofiled, copending and coassignedapplication entitled “A Computational Architecture for Managing theTransmittal and Rendering of Information, Alerts, and Notifications,”U.S. Ser. No. 09/365,287, which has already been incorporated byreference (specifically, with respect to the attention managementmodule).

In another embodiment, this decision is made by utilizing decisionmodels, as known within the art. FIGS. 8-10 are influence diagrams, asknown within the art, showing how in one specific embodiment suchdecision models can be utilized to make this decision. Specifically,FIG. 8 displays a decision model for decisions about interrupting auser, considering current activity, expected time criticality ofmessages, and cost of alerting depending on the modality. FIG. 9 alsoincludes variables representing the current location and the influenceof that variable on activity and cost of the alternate messagingtechniques. Finally, FIG. 10 is further expanded to consider the costsassociated with losses in fidelity when a message with significantgraphics content is forwarded to a user without the graphical contentbeing present.

In still another embodiment, the decision as to when and how to alertsusers is made by employment of a set of user-specified thresholds andparameters defining policies on alerting. In this embodiment, userpresence can be inferred based on mouse or keyboard activity. Thus, auser can be allowed to input distinct thresholds on alerting forinferred states of activity and nonactivity. Users can input an amountof idle activity following activity where alerting will occur at lowercriticalities. In this embodiment, if it is determined that the user isnot available based on the time that no computer activity is seen—or onthe user's inactivity when an attempt to alert is made—then messages andstored, and are reported to the user in order of criticality when theuser returns to interact with the computer (or, returns to the room,given the availability of inputs from infrared or other presencedetection).

Furthermore, in this embodiment, users can specify routing and pagingoptions (as well as other output options) as a function of quantitiesincluding expected criticality, maximum expected loss, and value ofalerting the user. Such routing, paging and other output options aremore specifically described in the copending, cofiled, and coassignedapplications entitled “Methods for Routing Documents based on a Measureof Criticality,” U.S. Ser. No. 09/364,528, “Methods for Display,Notification, and Interaction with Prioritized Messages,” U.S. Ser. No.09/364,522, which are all hereby incorporated by reference. Theinvention is not so limited, however.

Method and System

In this section of the detailed description, a computer-implementedmethod according to an embodiment of the invention is described, and acomputerized system according to an embodiment of the invention isdescribed. With respect to the method, the method is desirably realizedat least in part as one or more programs running on a computer—that is,as a program executed from a computer-readable medium such as a memoryby a processor of a computer. The program is desirably storable on amachine-readable medium such as a floppy disk or a CD-ROM, fordistribution and installation and execution on another computer.

Referring to FIG. 11, a flowchart of a method according to an embodimentof the invention is shown. In 900, a text to have a priority thereofassigned is received. The text can be an email message, or any othertype of text; the invention is not so limited. In 902, the priority ofthe text is generated, based on a text classifier, as has beendescribed. Thus, in one embodiment, 902 includes initially training andcontinually training the text classifier, as has been described.

The priority of the text is then output in 904. In one embodiment, asindicated in FIG. 11, this can include 906, 908, 910, 912 and 914;however, the invention is not so limited. In 906, an expected loss ofnon-review of the text at a current time t is determined—in oneembodiment, by also considering the expected loss of now-review of thetext at a future time, based on the assumption that ultimately the userwill review the text him or herself, without being alerted, as has beendescribed. In 908, an expected cost of alerting is determined, as hasalso been described. If the loss is greater than the cost in 910, thenno alert is made at the time t, and the method proceeds back to 906, toredetermine the cost-benefit analysis, at a new current time t. This isdone because as time progresses, the expected loss may at some pointoutweigh the alert cost, such that the calculus in 910 changes. Upon theexpected loss outweighing the alert cost, then an alert to the user isperformed in 914, as has been described.

In one embodiment, the output of the alert is performed as is nowdescribed. A user is alerted on an electronic device based on an alertcriteria, which indicates when the user should be alerted of aprioritized text. Alert criteria that can be used in conjunction withembodiments of the invention is not limited by the invention; however,in one embodiment, the alert criteria is as described in a furthersection of the detailed description. The electronic device on which theuser is alerted can in one embodiment be a pager or a cellulartelephone; however, the invention is not so limited.

In one embodiment, the method alerts a user on an electronic device,such as a pager or a cellular phone, based on an alert criteria that canbe made sensitive to information about the location, inferred task, andfocus of attention of the user. Such information can be inferred underuncertainty or can be accessed directly from online information sources.One embodiment makes use of information from an online calendar tocontrol the criteria used to make decisions about relaying informationto a mobile device.

Referring next to FIG. 12, a diagram of a system according to anembodiment of the invention is shown. The system includes a program 950and a text classifier 952. Each of the program 950 and the classifier952 include a computer program executed by a processor of a computerfrom a computer-readable medium thereof, in one embodiment. However, theinvention is not so limited.

The program 950 generates a text for input into the text classifier 952.In one embodiment, the program includes an electronic mail program thatreceives email, which then serve as the text. The text classifier 952,based on the text, generates a priority thereof, as has been described.In one embodiment, the text classifier 952 is a Bayesian textclassifier, while in another embodiment, it is a Support Vector Machineclassifier. The priority of the text output by the text classifier 952can then be used in further conjunction with a cost-benefit analysis, ashas been described, to effectuate further output and/or alerting basedthereon, as has been described. The invention is not so limited,however.

Referring next to FIG. 13, a diagram of a system according to anotherembodiment of the invention is shown. The system of FIG. 13 includes anadditional component, an alert mechanism 970. Not shown in FIG. 13 arethe program 950 and the text classifier 952; however, the alertmechanism 970 is operatively and/or communicatively coupled to thelatter. In one embodiment, the mechanism 970 includes a computer programexecuted by a processor of a computer from a computer-readable mediumthereof, but the invention is not so limited.

As shown in FIG. 13, the alert mechanism 970 is communicatively coupledto the Internet 972, which is the network by which the alert mechanism970 contacts an electronic device to alert the user to a prioritizedtext, based on an alert criteria, in one embodiment. The network is notlimited to the Internet 972, however. Thus, the alert mechanism 970 isable to alert the user of a prioritized text via contacting a pager 974,or a cellular phone 976, or other electronic devices capable ofreceiving information from over a network such as the Internet 972, andwhich are not shown in FIG. 13. The invention is not limited as to aparticular alert criteria, although in one embodiment, the alertcriteria is as described in the next section of the detaileddescription.

Alert Criteria

In this section of the detailed description, an alert criteria accordingto one embodiment of the invention is described. The alert criteria isthe criteria that governs when and how a user is alerted to aprioritized text. The alert criteria is described with reference to FIG.14, which is a diagram of a user interface via which alert criteriaoptions can be modified, according to one embodiment of the invention.

Referring now to FIG. 14, in text entry box 980, the user is able toenter the email address of a pager or a cellular phone on which the userwould like to be notified of prioritized text. As known within the art,pagers and cellular phones are available that allow for paging byemailing text to an email address assigned to the pager or cellularphone. For example, as shown in FIG. 14, the device has an email address4255555555@mobile.phoneco.net, where 4255555555 corresponds to the phonenumber of the cellular phone or the pager number of the pager, asprovided by the phone company “phoneco.”

It is noted that the alert criteria of FIG. 14 specifically relates tonew email messages, but that the invention is not so limited. Threealert criteria are specifically shown in FIG. 14, and are referred to asoptions 982, 984 and 986. The options are not mutually exclusive,however. That is, the user can select one, two, or all three of theoptions 982, 984 and 986.

In the option 982, the user is able to specify that the electronicdevice should be contacted if a new email is received that has apriority greater than a predetermined threshold, and the user has beenaway from the computer for more than a predetermined amount of time. Asshown in FIG. 14, the predetermined threshold is a priority of 85, whilethe predetermined amount of time is 75 minutes. Thus, if it isdetermined that the priority of an email message is greater than 85, andthat the user has been away from the computer for more than 75 minutes,then the user's electronic device will be alerted, consistent with theother options 984 and/or 986 if selected.

In the option 984, the user is able to specify that the electronicdevice should be contacted only when the current time is within apredetermined range of times. As shown in FIG. 14, the predeterminedrange of times is between 8:15 a.m. and 7:30 p.m. Thus, if it isdetermined that the current time is between 8:15 a.m. and 7:30 p.m.,then the user's electronic device will be alerted, consistent with theother options 982 and/or 986 if selected.

In the option 986, the user is able to specific that if the user is in ameeting—for example, as determined by examining a schedule of theuser—then the user should only be notified if the priority is greaterthan a predetermined meeting threshold. In general, this meetingthreshold is desirably greater than the threshold specified in theoption 982—the purpose of this greater threshold is to indicate that theuser is receptive to notification of email messages greater than aparticular priority in usual circumstances, but that the user isreceptive to notification of email messages during meetings only if theyhave a priority that is unusually great. As shown in FIG. 14, then, thepredetermined meeting threshold is a priority of 95, which is higherthan the predetermined threshold of 85 in the option 982. Thus, if it isdetermined that the user is in a meeting, and a message is receivedhaving a threshold greater than 95, then the user is alerted via his orher electronic device.

EXAMPLE EMBODIMENTS

In one embodiment, a computer-implemented method comprises: receiving atext;

generating a priority of the text based on a text classifier; and,alerting a user on an electronic device based on an alert criteria.

In an embodiment, the alert criteria is sensitive to information aboutlocation, inferred task, and focus of attention of the user.

In an embodiment, the information is inferred under uncertainty.

In an embodiment, the information is accessed directly from onlineinformation sources.

In an embodiment, the online information sources comprises an onlinecalendar.

In an embodiment, the receiving a text comprises receiving an email.

In an embodiment, the alerting a user on an electronic device comprisesalerting the user on the electronic device comprising a pager.

In an embodiment, the alerting a user on an electronic device comprisesalerting the user on the electronic device comprising a cellular phone.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; and, alerting the userupon determining that the priority of the text is greater than thepredetermined threshold.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; determining whether theuser has been away for more than a predetermined amount of time; and,upon determining that the priority of the text is greater than thepredetermined threshold and that the user has been away for more thanthe predetermined amount of time, alerting the user.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether a current time iswithin a predetermined range of times; and, upon determining that thecurrent time is within the predetermined range of times, alerting theuser.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the user is in ameeting; upon determining that the user is in a meeting, determiningwhether the priority is greater than a predetermined meeting threshold;and, upon determining that the priority is greater than thepredetermined meeting threshold, alerting the user.

In another embodiment, a computer-implemented method comprises: traininga text classifier comprising one of a Bayesian classifier and asupport-vector machine classifier; receiving a text comprising an email;generating a priority of the text based on the text classifier; and,alerting a user on an electronic device based on an alert criteria.

In an embodiment, the alerting a user on an electronic device comprisesalerting the user on the electronic device comprising one of a pager anda cellular phone.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; and, alerting the userupon determining that the priority of the text is greater than thepredetermined threshold.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; determining whether theuser has been away for more than a predetermined amount of time; and,upon determining that the priority of the text is greater than thepredetermined threshold and that the user has been away for more thanthe predetermined amount of time, alerting the user.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; determining whether theuser has been away for more than a predetermined amount of time;determining whether a current time is within a predetermined range oftimes; and, upon determining that the priority of the text is greaterthan the predetermined threshold, that the user has been away for morethan the predetermined amount of time, and that the current time iswithin the predetermined range of times, alerting the user.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the user is in ameeting; upon determining that the user is in a meeting, determiningwhether the priority is greater than a predetermined meeting threshold;and, upon determining that the priority is greater than thepredetermined meeting threshold, alerting the user.

In another embodiment, a machine-readable medium has instructions storedthereon for execution by a processor to perform a method comprising:receiving a text; generating a priority of the text based on a textclassifier; and, alerting a user on an electronic device based on analert criteria.

In an embodiment, the receiving a text comprises receiving an email.

In an embodiment, the alerting a user on an electronic device comprisesalerting the user on the electronic device comprising a pager.

In an embodiment, the alerting a user on an electronic device comprisesalerting the user on the electronic device comprising a cellular phone.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; and, alerting the userupon determining that the priority of the text is greater than thepredetermined threshold.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the priority of thetext is greater than a predetermined threshold; determining whether theuser has been away for more than a predetermined amount of time; and,upon determining that the priority of the text is greater than thepredetermined threshold and that the user has been away for more thanthe predetermined amount of time, alerting the user.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether a current time iswithin a predetermined range of times; and, upon determining that thecurrent time is within the predetermined range of times, alerting theuser.

In an embodiment, the alerting a user on an electronic device based onan alert criteria comprises: determining whether the user is in ameeting; upon determining that the user is in a meeting, determiningwhether the priority is greater than a predetermined meeting threshold;and, upon determining that the priority is greater than thepredetermined meeting threshold, alerting the user.

In another embodiment, a computerized system comprises: a program togenerate a text; a text classifier to generate a priority of the text;and, an alert mechanism to alert a user on an electronic device based onan alert criteria.

In an embodiment, the program comprises an electronic mail program toreceive an electronic mail as the text.

In an embodiment, the text classifier comprises a Bayesian textclassifier.

In an embodiment, the text classifier comprises a support-vector-machineclassifier.

In an embodiment, the electronic device comprises one of a pager and acellular phone.

In an embodiment, the alert criteria comprises a determination ofwhether the priority of the text is greater than a predeterminedthreshold.

In an embodiment, the alert criteria comprises a determination ofwhether the priority of the text is greater than a predeterminedthreshold and whether the user has been away for more than apredetermined amount of time.

In an embodiment, the alert criteria comprises a determination ofwhether a current time is within a predetermined range of times.

In an embodiment, the alert criteria comprises a determination ofwhether the user is in a meeting and whether the priority is greaterthan a predetermined meeting threshold.

In an embodiment, at least one of the alert mechanism, the program andthe text classifier comprise a computer program executed by a processorfrom a computer-readable medium.

CONCLUSION

Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the artthat any arrangement which is calculated to achieve the same purpose maybe substituted for the specific embodiments shown. This application isintended to cover any adaptations or variations of the presentinvention. Therefore, it is manifestly intended that this invention belimited only by the following claims and equivalents thereof

We claim:
 1. A method in a first device, comprising: receiving a textdirected to a user; generating a priority of the text; and contacting asecond device over a network to alert the user based on an alertcriteria.
 2. The method of claim 1, wherein said contacting comprises:contacting the second device over the network to alert the user based onthe alert criteria, the second device being a mobile device.
 3. Themethod of claim 2, further comprising: using information from an onlinecalendar in a decision regarding relaying alert information to themobile device.
 4. The method of claim 1, further comprising: assessing alocation of the user as at least a portion of the alert criteria.
 5. Themethod of claim 1, further comprising: inferring a current task of theuser as at least a portion of the alert criteria.
 6. The method of claim1, further comprising: inferring a focus of attention of the user as atleast a portion of the alert criteria.
 7. The method of claim 1, whereinsaid contacting comprises: contacting the second device over the networkto alert the user based on the alert criteria, the second device being adevice that is worn by the user.
 8. An electronic device, comprising: aprocessing unit; and system memory that stores at least one programconfigured to be executed by the processing unit to: generate a priorityof a received text that is directed to a user; determine an expectedcost of alerting the user regarding the received text based at least ona sensor associated with the user; and alert the user.
 9. The electronicdevice of claim 8, wherein the sensor is at least one of an infraredsensor or a pressure sensor.
 10. The electronic device of claim 8,wherein the sensor is on the user.
 11. The electronic device of claim 8,wherein the at least one program is configured to be executed by theprocessing unit to alert the user when the determined expected cost ofalerting the user is not greater than an expected cost of distractingthe user.
 12. The electronic device of claim 8, wherein to determine theexpected cost of alerting the user, the at least one program isconfigured to be executed by the processing unit at least to infer anactivity of the user.
 13. The electronic device of claim 8, wherein toinfer the activity of the user, the at least one program is configuredto be executed by the processing unit to at least one of: performautomated scene analysis; determine last mouse or keyboard activity;perform acoustical analysis; determine recent application history;determine an application in focus; determine a telephone status; oranalyze explicit user input about whereabouts.
 14. A server, comprising:a processing unit; a network interface; and system memory that stores atleast one program configured to be executed by the processing unit to:receive a text directed to a user; generate a priority of the text; andoperate the network interface to communicate with an electronic deviceover a network to alert the user based on an alert criteria.
 15. Theserver of claim 14, wherein the electronic device is a mobile device.16. The server of claim 14, wherein the at least one program isconfigured to be executed by the processing unit to: use informationfrom an online calendar in a decision regarding relaying alertinformation to the electronic device.
 17. The server of claim 14,wherein the at least one program is configured to be executed by theprocessing unit to: assess a location of the user as at least a portionof the alert criteria.
 18. The server of claim 14, wherein the at leastone program is configured to be executed by the processing unit to:infer a current task of the user as at least a portion of the alertcriteria.
 19. The server of claim 14, wherein the at least one programis configured to be executed by the processing unit to: infer a focus ofattention of the user as at least a portion of the alert criteria. 20.The server of claim 14, wherein the electronic device is worn by theuser.